let update = {}

/**
 * 管理小程序更新
 * @date 2023-01-31
 */
update.checkUpdate = function() {
	return new Promise((resolve, reject) => {
		// #ifdef MP-WEIXIN
		// 判断方法是否在当前版本可用
		if (uni.canIUse('getUpdateManager')) {
			// 本API返回全局唯一的版本更新管理器对象，用于管理小程序更新
			const updateManager = uni.getUpdateManager()
			// 当向小程序后台请求完新版本信息，会进行回调
			updateManager.onCheckForUpdate((res) => {
				// console.log('onCheckForUpdate====', res)
				// 有新的版本
				if (res.hasUpdate) {
					console.log('res.hasUpdate====')
					updateManager.onUpdateReady(() => {
						uni.showModal({
							title: '更新提示',
							content: '新版本已经准备好，是否重启应用？',
							success: (res) => {
								console.log('success====', res)
								// res: {errMsg: "showModal: ok", cancel: false, confirm: true}
								if (res.confirm) {
									/* 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
									当新版本下载完成，调用该方法会强制当前小程序应用上新版本并重启 */
									updateManager.applyUpdate()
								}
							}
						})
					})
					// 当新版本下载失败，会进行回调
					updateManager.onUpdateFailed(() => {
						// 新的版本下载失败
						uni.showModal({
							title: '已经有新版本了哟~',
							content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~'
						})
					})
				}
			})
		} else {
			uni.showModal({
				title: '提示',
				content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
			})
		}
		// #endif
	})
}

export default update
